
#ifndef __TEST_DSA_KEYS_H
#define __TEST_DSA_KEYS_H

#include "../iface/APRInterface.h"
#include "../crypt/DSAKeyPairGenerator.h"
#include "../crypt/DSAPublicKey.h"
#include "../crypt/DSAPrivateKey.h"
#include "../crypt/DSASigning.h"
#include "../crypt/DSAChecking.h"

namespace tests
{
   void testDSAKeys(apr_pool_t *mp);
   void testDSAPasswordCryption(DSAPublicKey *pubkey, DSAPrivateKey *prvkey, int iterations);
   void testDSABlockSigning(DSAPublicKey *bpubkey, DSAPrivateKey *bprvkey, DSAPublicKey *pubkey, DSAPrivateKey *prvkey, int iterations, int max_length);
   void testDSAPipeSigning(DSAPublicKey *bpubkey, DSAPrivateKey *bprvkey, DSAPublicKey *pubkey, DSAPrivateKey *prvkey, int iterations, int max_block, int max_length, apr_pool_t *mp);
};

#endif
